package com.group.eams.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.group.eams.pojo.dto.FixedAssetQueryDto;
import com.group.eams.pojo.entity.FixedAsset;
import com.group.eams.pojo.vo.*;

import java.util.List;

/**
* @author 恩哲欣
* @description 针对表【fixed_asset(固定资产表)】的数据库操作Service
* @createDate 2024-10-29 16:09:34
*/
public interface FixedAssetService extends IService<FixedAsset> {

    /**
     * 分页查询
     * @param fixedAssetQueryDto
     * @return
     */
    Page<FixedAssetListVo> findByQueryDto(FixedAssetQueryDto fixedAssetQueryDto);

    /**
     * 查询所有
     * @return
     */
    List<FixedAsset> findAll();

    /**
     * 根据id查询财务信息
     * @param id
     * @return
     */
    FixedAssetAccountVo findAssetAccountById(Long id);

    /**
     * 根据id查询维保信息
     * @param id
     * @return
     */
    FixedAssetMaintenVo findAssetMaintenById(Long id);

    /**
     * 根据id查询采购信息
     * @param assetId
     * @return
     */
    FixedAssetPurchaseVo findPurchaseByAssetId(Long assetId);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    FixedAsset findById(Long id);

    /**
     * 根据id查询基础信息
     * @param id
     * @return
     */
    FixedBasicAssetVo findBasicById(Long id);

    /**
     * 更新
     * @param fixedAsset
     * @return
     */
    boolean update(FixedAsset fixedAsset);

    /**
     * 新增
     * @param fixedAsset
     * @return
     */
    boolean insert(FixedAsset fixedAsset);
}
